谈到技术型企业,他说“控制”是关键,我却认为“自豪”才是最重要的。可能我们两个人都是对的。
我曾经拜访过一个朋友彼得(Peter)的企业,他的公司正在销售一款复杂的软件决策工具。他让我参观了他的办公室,之后又带我来到一个很大的房间。这个房间没有窗户,里面摆满了计算机机架。
“这些是什么东西?”我不假思索地问到。
“当然是我们的服务器了。”彼得的语气中透露出一丝不屑,好像在说“这还用问”。
我努力平复了一下自己的情绪,然后继续问到:“你完全可以租用一些云服务器,为什么还要留着这些服务器?
“为了更好地控制”,彼得边说边走到隔壁房间。我自言自语道:“你确定不租云服务器就是为了显示你的公司与这个楼里其他公司有所不同吗?还是要表明你的身份不是律师、游说者或公共关系专家?”
计算服务企业在计算领域的地位一直很有意思。它的目的是提供访问硬件的途径,但同时又使你远离那些硬件。它是计算产业发展最快的部分之一。高德纳(Gartner)集团预计,2017年计算服务将增长17%。其中大部分增长将归功于虚拟化技术——它看似让你访问整个计算机,但同时保证你的程序远离实际的硬件。
新兴的云计算技术是一种容器,有时被称为“虚拟专用服务器(virtual private server)”。在计算领域文献中,你会发现有大量论文与容器化的优点相关。有各种用途的容器,有的用于研究,有的用于非营利组织,有的用于高性能计算,有的用于大数据。除了彼得的公司外,我见到的每家小公司(那些收入低于5000万美元的公司),都将容器看作是提供数据服务的一种有效手段。
容器是虚拟机的一种形式,本质上是一个软件程序,通过这个程序似乎可以访问整个计算机和操作系统环境,但它实际上只是将仿真机器呈现给应用程序。容器其实也可以看作是虚拟机的轻量化或简约化形式。完整的虚拟机需要包括一个完整、独立的操作系统。而容器只有操作系统的部分镜像,且必须依赖主机的内核。
二者之间的利弊权衡是相当明显的。目前的文献认为,容器和虚拟机的运行速度往往大致相同,只比配置传统操作系统的单独的服务器(业内称为“裸机”)略慢一点。由于缺乏完整的操作系统,容器一般比完整的虚拟机小。出于同样的原因,容器往往不如虚拟机安全。二者之间的一个主要区别是数据传输的速率,容器传输数据可能要比虚拟机慢一些,因为容器要与其他任务共享一个公用的操作系统内核。现在许多论文提出了一些平衡这种差异的方法。
总而言之,近期关于容器的文献确实给我们上了重要一课,那就是容器或某些其他衍生技术可能会成为软件的标准形式,并最终成为构想应用程序的标准方法。容器技术将注意力从管理机器转移到管理软件。首先,容器技术将配置问题从机器转移到软件。管理员不用再担心如何配置硬件,他们只需要考虑如何配置容器;其次,管理员可以通过分解性能数据来简化管理。容器收集的信息只来自于其内部的过程。
如果我们看到了容器的广泛采用,我们会看到计算领域的彻底改变吗?我对此持怀疑态度,尽管这样的举动将会强化这种想法,即最好的计算环境应该是单台机器由单个用户来控制的环境。首次出现虚拟化的想法是在20世纪60年代末期,这听起来有点怀旧。克里西(R. J. Creasy)写道,虚拟机“与20世纪50年代科学家和工程师们使用计算机的风格最一致”。当时克里西在IBM公司从事最初的虚拟机项目研究,他解释说,这些早期的机器“就像个人工具一样被使用”。
在某种程度上,虚拟化的现代发明也可以追溯到简单的独立计算机。虚拟化出现在20世纪90年代中期,当时个人台式计算机是计算机最常见的形式。然而,虚拟化真的预见到了大规模分布式服务器的问题。威睿(VMWare)前首席执行官黛安·格林(Diane Green)写道:“虚拟化解决了很多可扩展性问题。通过在单个服务器的顶层配置多个虚拟机,就可以将远未充分利用的服务器利用起来。”
不是每个人都渴望在简单的单机上编程,也不是每台计算机都需要安装一个大型操作系统。然而,似乎我们正要走到这样一步,即我们快要解决关于虚拟化的大部分突出问题,并且虚拟机将变得越来越普遍,即使对于不是真正需要它们的应用程序也是如此。之前我们已经在计算领域见识过这种过程了。编程语言、数据库、图形和操作系统等都出现过这种情况。数据库也许是这种现象的最典型的案例。在1973年之前,程序员们会经常讨论访问数据库的不同方法,并试图确定哪些应用程序需要数据库,哪些应用程序不需要。科德(Codd)在1973年发表的关于关系数据库的论文很快就平息了对数据库体系结构争论的兴趣。到20世纪80年代中期,关系数据库成为标准开发栈中的一部分。
当然,关于技术最终是没有定论的。现在有人质疑虚拟化的优点,就像仍然有人质疑关系数据库的价值一样。我认为,我的朋友彼得不倾向于任何一方的观点。我只是认为他正痴迷于权力的掌控。毕竟他成长于一个以拥有服务器作为地位象征的时代。虽然他可能不反对虚拟化,但他似乎已经习惯了服务器的存在,而不是那些虚无缥缈的云服务。当然,这些服务器本身时刻提醒着他是在一个技术型企业里工作。 ■
译者:胡欣宇
所有评论仅代表网友意见